<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    // 1. 封装 计算任意两个个位数之间所有数字，两两组合，能组合成哪些奇数，放在数组中，返回出来， 函数
    function fn(min, max){
        if(min > max){
            var x = min;
            min = max;
            max = x;
        }
        var data = [];
        for(var i=min; i<=max;i++){
            for(var j=min; j<=max;j++){
                if( (""+i+j)%2 ){
                    data.push(""+i+j);
                }
            }
        }
        return data;
    }
    // console.log(fn(1, 3));

    // ======
    // 封装函数，用来根据指定数据，查询指定数组中是否存在该数据，存在返回true，否则返回false
    function has(arr, msg){
        for(var j=0;j<arr.length;j++){
            if(arr[j] === msg){
                return true;
            }
        }
        return false;
    }
    // var arr = [4,5,6,"helle",true,"hello",5,4,3,2]
    // console.log( has(arr, "hello") );
    // console.log( has(arr, "world") );
    // console.log( has(arr, "5") );
    // console.log( has(arr, 5) );

    // ======
    
    // 2. 封装 数组去重的 函数
    //     - 不允许修改原数组
    function noRepeat(data){
        // 创建一个新的空数组
        var arr = [];
        for(var i=0;i<data.length;i++){
            // arr 中有没有 data[i] 这个数据
            if( !has(arr, data[i]) ){
                arr.push( data[i] );
            }
        }
        return arr;
    }
    // var arr = [2,6,5,4,3,4,5,6,3,2,2,2,2,2];
    // console.log(arr);
    // var res = noRepeat(arr);
    // console.log(res);
    // console.log(arr);

    
    // 3. 封装 将数组内所有数据增加30%的 函数
    function map(abc){
        for(var i=0;i<abc.length;i++){
            abc[i] = abc[i] * 1.3;
        }
    }
    // var arr = [10,9,30,40];
    // console.log(arr);
    // map(arr);
    // console.log(arr);

    // 4. 现有一个排好序的都是数值的数组，插入一个新数据，要求不影响原排序，封装函数实现
    //     - insert(arr, 5);
    // 默认升序
    function insert(abc, qwe){
        // abc.push(qwe);
        // abc.sort(function(a,b){
        //     return a-b;
        // })

        // 先找到要插入的位置
        for(var i=0;i<abc.length;i++){
            if(abc[i] > qwe){
                break;
            }
        }
        // 让数组中的数据，腾出空
        for(var j=abc.length-1;j>=i;j--){
            arr[j+1] = arr[j];
        }
        // 放进去
        abc[i] = qwe;
    }
    // var arr = [3,6,7,9];
    // console.log(arr);
    // insert(arr, 4);
    // console.log(arr);

    





</script>
</html>